﻿using PLCS.Application.Contracts.TrayApp.Dtos;

namespace PLCS.Application.Contracts.TrayApp;

public interface ITrayAppService : ICrudAppService<TrayDto, Guid, PagedResultRequestDto, TrayEditDto>
{
    //Task<IEnumerable<TrayDto>> GetListAsync();

    Task<TrayDto?> GetTrayByNoAsync(string trayNo);

    Task UpdateAsync(TrayEditDto input);

    Task DisassociateAsync(TrayDto tray);

    Task TrayBindAsync(TrayDto tray);

    Task<PagedResultDto<TrayDto>> GetListBySearchAsync(PagedResultRequestDto input, string? trayType, string? trayNo);

    Task CreateListAsync(IEnumerable<TrayEditDto> trays);
}